// 安装模块
// 加载模块
const Databases=require("better-sqlite3");
// 通过Databases构造器构建完成连接的连接对象
// new Databases(path,[options])
    // path:以路径方式指定sqlite数据库文件
    // options:数据库的相关配置，用于设定数据库操作模式、
    // {
    //     readonly：默认为false，是否以只读模式打开数据库文件，不能修改
    //     fileMustExist：默认值为false，当设置为true时候，表示指定文件必须存在，如果不存在就会报错
    //     setTimeout(，默认值:5000ms)设置连接的最大等待时长
    //     verbose:提供一个函数，用于记录和触发后续的数据操作
    // }
const db=new Databases("./data.sqlite",{
    fileMustExist:true,
    verbose:console.log//会将执行的sql语句输出在控制台
});

// 通过db对象完成数据库的操作，主要使用db.prepare()方法
    // db.prepare(sql)通过定义sql语句记录操作要求
        // sql语法是数据的操作标准语法


//stmt执行流对象:将sql语句编译成二进制文件通过代码的方式传递给sqlite文件，然后进行操作
const stmt=db.prepare("select id,name from t_class");

// 基于stmt对象，完成数据库的数据调用(查询调用、删除调用、修改调用、添加调用)
//     查询调用  stmt.all()    stmt.get()
//     删除调用、修改调用、添加调用   stmt.run()

let rows=stmt.all();
console.log(rows);